package com.wlhse.service;

import com.wlhse.dto.*;
import com.wlhse.dto.inDto.HseAuditGroupMembersDtos;
import com.wlhse.dto.inDto.QHSEECheckRecords;
import com.wlhse.dto.inDto.QHseeCheckRecordDto;
import com.wlhse.dto.outDto.QHSEECheckRecordNumsDto;
import com.wlhse.entity.HseAuditTaskPojo;
import com.wlhse.util.R;
import org.apache.ibatis.annotations.Param;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface HSEService {
    String addHSEAuditGroup(HSEAuditGroupDto hseAuditGroupDto);
    String queryHSEAuditGroup(HSEAuditGroupDto hseAuditGroupDto);
    String deleteHSEAuditGroup(Integer id);
    String queryAllGroupMembersByYearRound(HSEAuditGroupDto hseAuditGroupDto, HttpServletRequest request);
    String addHseAuditGroupMembers(HseAuditGroupMembersDto hseAuditGroupMembersDto);
    String updateHseAuditGroupMembers(HseAuditGroupMembersDtos hseAuditGroupMembersDto);
    String updateHseAuditGroupMembersTopics(HseAuditGroupMembersDto hseAuditGroupMembersDto);

    String addHseAuditTask(HseAuditTaskPojo hseAuditTaskPojo, HttpServletRequest request);

    String queryHseAuditTask(String taskDate,String round,Integer num,Integer size);

    String finishHseAuditTask(HseAuditTaskPojo hseAuditTaskPojo);

    String updateHseAuditTask(HseAuditTaskPojo hseAuditTaskPojo);

    String deleteHseAuditTask(Integer auditTaskID);

    R queryHseAuditTopic(HseAuditSystem hseAuditSystem);

    String queryHseAuditSystemCheckItems(String code);

    String queryHseAuditSystemByCode(String code,String status);

    String queryTaskAndGroupByStaffID(String staffID,String round,String taskDate);
    String queryAuditSubjectRecord(QHSEECheckRecord qhseeCheckRecord);
    String queryAuditSubjectRecordByStatus(HseCheckRecordDto hseCheckRecordDto);

    String addCheckRecord(QHSEECheckRecord qhseeCheckRecord);
    String updateCheckRecord(QHSEECheckRecords qhseeCheckRecord);
    String updateCheckRecordStatus(String ids);

    R queryQhseeCheckRecord(QHSEECheckRecords qhseeCheckRecord);

    String updateQhseeCheckRecordStatus(QHSEECheckRecord qhseeCheckRecord);

    String deleteQHSEECheckRecord(List<String> QHSEECheckRecordList);
    R queryQHSEECheckRecordNums(QHseeCheckRecordDto qhseeCheckRecord);
    R cascadingQuery(String year,String round,String auditGroupName);
}
